Detecting Heap Smashing Attacks through Fault Containment Wrappers
نویسندگان
چکیده
Buffer overflow attacks are a major cause of security breaches in modern operating systems. Not only are overflows of buffers on the stack a security threat, overflows of buffers kept on the heap can be too. A malicious user might be able to hijack the control flow of a root-privileged program if the user can initiate an overflow of a buffer on the heap when this overflow overwrites a function pointer stored on the heap. This paper presents a fault-containment wrapper which provides effective and efficient protection against heap buffer overflows caused by C library functions. The wrapper intercepts every function call to the C library that can write to the heap and performs careful boundary checks before it calls the original function. This method is transparent to existing programs and does not require source code modification or recompilation. Experimental results on Linux machines indicate that the performance overhead is small.
منابع مشابه
Component-Based Synthesis of Dependable Embedded Software
Standardized and reusable software (SW) objects (or SW components – in-house or pre-fabricated) are increasingly being used to reduce the cost of software (SW) development. Given that the basic components may not have been developed with dependability as primary driver, these components need to be adapted to deal with errors from their environment. To achieve this, error containment wrappers ar...
متن کاملAn Approach to Specify and Test Component-Based Dependable Software
Components (in-house or pre-fabricated) are increasingly being used to reduce the cost of software development. Given that these components may not have not been developed with dependability as a driver, the components need to be adapted to deal with errors coming from their environment. To achieve this, error containment wrappers are often added to increase the robustness of such components. A...
متن کاملUsing Greedy Hamiltonian Call Paths to Detect Stack Smashing Attacks
The ICAT statistics over the past few years have shown at least one out of every five CVE and CVE candidate vulnerabilities have been due to buffer overflows. This constitutes a significant portion of today’s computer related security concerns. In this paper we introduce a novel method for detecting stack smashing and buffer overflow attacks. Our runtime method extracts return addresses from th...
متن کاملI Control Your Code Attack Vectors through the Eyes of Software-based Fault Isolation
Exploits are an interesting way to extend the functionality of programs. This paper presents and explains different attack vectors, namely stack-based and heap-based code injection, arc attacks on the heap as well as on the stack, format string attacks, arithmetic overflows, data attacks, and mixed ISA attacks. These attacks can be used (often in combination with other attacks) to execute arbit...
متن کاملDetection of Heap-Spraying Attacks Using String Trace Graph
Heap-spraying is an attack technique that exploits memory corruptions in web browsers. A realtime detection of heap-spraying is difficult because of dynamic nature of JavaScript and monitoring overheads. In this paper, we propose a runtime detector of heap-spraying attacks in web browsers. We build a string trace graph by tracing all string objects and string operations in JavaScript. The graph...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2001